home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 1 / LIGHT-ROM 1 (Amiga Library Services)(1994).iso / ffdisks / d880.lha / Oberon / O3Demo2.lzh / Definitions / Graphics.def < prev    next >
Text File  |  1993-01-15  |  35KB  |  1,174 lines

  1. DEFINITION Graphics;
  2.  
  3. IMPORT
  4.   e := Exec,
  5.   u := Utility,
  6.   h := Hardware;
  7.  
  8. TYPE
  9.   RectanglePtr = UNTRACED POINTER TO Rectangle;
  10.   Rect32Ptr = UNTRACED POINTER TO Rect32;
  11.   PointPtr = UNTRACED POINTER TO Point;
  12.   BitMapPtr = UNTRACED POINTER TO BitMap;
  13.   LayerPtr = UNTRACED POINTER TO Layer;
  14.   ClipRectPtr = UNTRACED POINTER TO ClipRect;
  15.   CopInsPtr = UNTRACED POINTER TO CopIns;
  16.   CopInsCLPtr = UNTRACED POINTER TO CopInsCL;
  17.   CprlistPtr = UNTRACED POINTER TO Cprlist;
  18.   CopListPtr = UNTRACED POINTER TO CopList;
  19.   UCopListPtr = UNTRACED POINTER TO UCopList;
  20.   CopinitPtr = UNTRACED POINTER TO Copinit;
  21.   ExtendedNodePtr = UNTRACED POINTER TO ExtendedNode;
  22.   MonitorSpecPtr = UNTRACED POINTER TO MonitorSpec;
  23.   AnalogSignalIntervalPtr = UNTRACED POINTER TO AnalogSignalInterval;
  24.   SpecialMonitorPtr = UNTRACED POINTER TO SpecialMonitor;
  25.   QueryHeaderPtr = UNTRACED POINTER TO QueryHeader;
  26.   DisplayInfoPtr = UNTRACED POINTER TO DisplayInfo;
  27.   DimensionInfoPtr = UNTRACED POINTER TO DimensionInfo;
  28.   MonitorInfoPtr = UNTRACED POINTER TO MonitorInfo;
  29.   NameInfoPtr = UNTRACED POINTER TO NameInfo;
  30.   VSpritePtr = UNTRACED POINTER TO VSprite;
  31.   BobPtr = UNTRACED POINTER TO Bob;
  32.   AnimCompPtr = UNTRACED POINTER TO AnimComp;
  33.   AnimObPtr = UNTRACED POINTER TO AnimOb;
  34.   DBufPacketPtr = UNTRACED POINTER TO DBufPacket;
  35.   CollTablePtr = UNTRACED POINTER TO CollTable;
  36.   IsrvstrPtr = UNTRACED POINTER TO Isrvstr;
  37.   LayerInfoPtr = UNTRACED POINTER TO LayerInfo;
  38.   AreaInfoPtr = UNTRACED POINTER TO AreaInfo;
  39.   TmpRasPtr = UNTRACED POINTER TO TmpRas;
  40.   GelsInfoPtr = UNTRACED POINTER TO GelsInfo;
  41.   RastPortPtr = UNTRACED POINTER TO RastPort;
  42.   RegionRectanglePtr = UNTRACED POINTER TO RegionRectangle;
  43.   RegionPtr = UNTRACED POINTER TO Region;
  44.   BitScaleArgsPtr = UNTRACED POINTER TO BitScaleArgs;
  45.   SimpleSpritePtr = UNTRACED POINTER TO SimpleSprite;
  46.   TextAttrPtr = UNTRACED POINTER TO TextAttr;
  47.   TTextAttrPtr = UNTRACED POINTER TO TTextAttr;
  48.   TextFontPtr = UNTRACED POINTER TO TextFont;
  49.   TextFontExtensionPtr = UNTRACED POINTER TO TextFontExtension;
  50.   ColorFontColorsPtr = UNTRACED POINTER TO ColorFontColors;
  51.   ColorTextFontPtr = UNTRACED POINTER TO ColorTextFont;
  52.   TextextentPtr = UNTRACED POINTER TO Textextent;
  53.   ViewPortPtr = UNTRACED POINTER TO ViewPort;
  54.   ViewPtr = UNTRACED POINTER TO View;
  55.   ViewExtraPtr = UNTRACED POINTER TO ViewExtra;
  56.   ViewPortExtraPtr = UNTRACED POINTER TO ViewPortExtra;
  57.   RasInfoPtr = UNTRACED POINTER TO RasInfo;
  58.   ColorMapPtr = UNTRACED POINTER TO ColorMap;
  59.   GfxBasePtr = UNTRACED POINTER TO GfxBase;
  60.   Rectangle = STRUCT 
  61.     minX,minY : INTEGER;
  62.     maxX,maxY : INTEGER;
  63.   END;
  64.   Rect32 = STRUCT 
  65.     minX,minY : LONGINT;
  66.     maxX,maxY : LONGINT;
  67.   END;
  68.   Point = STRUCT 
  69.     x,y : INTEGER;
  70.   END;
  71.   PLANEPTR = e.APTR;
  72.   BitMap = STRUCT 
  73.     bytesPerRow : INTEGER;
  74.     rows : INTEGER;
  75.     flags : e.BYTE;
  76.     depth : SHORTINT;
  77.     pad : INTEGER;
  78.     planes : ARRAY 8 OF PLANEPTR;
  79.   END;
  80.   Layer = STRUCT 
  81.     front,back : LayerPtr;
  82.     clipRect : ClipRectPtr;
  83.     rp : RastPortPtr;
  84.     bounds : Rectangle;
  85.     reserved : ARRAY 4 OF e.BYTE;
  86.     priority : INTEGER;
  87.     flags : SET;
  88.     superBitMap : BitMapPtr;
  89.     superClipRect : ClipRectPtr;
  90.     window : e.APTR;
  91.     scrollX,scrollY : INTEGER;
  92.     cr,cr2,crnew : ClipRectPtr;
  93.     superSaveClipRects : ClipRectPtr;
  94.     cliprects : ClipRectPtr;
  95.     layerInfo : LayerInfoPtr;
  96.     lock : e.SignalSemaphore;
  97.     backFill : u.HookPtr;
  98.     reserved1 : LONGINT;
  99.     clipRegion : RegionPtr;
  100.     saveClipRects : RegionPtr;
  101.     width,height : INTEGER;
  102.     reserved2 : ARRAY 18 OF e.BYTE;
  103.     damageList : RegionPtr;
  104.   END;
  105.   ClipRect = STRUCT 
  106.     next : ClipRectPtr;
  107.     prev : ClipRectPtr;
  108.     lobs : LayerPtr;
  109.     bitMap : BitMapPtr;
  110.     bounds : Rectangle;
  111.     p1,p2 : ClipRectPtr;
  112.     reserved : LONGINT;
  113.     flags : LONGSET;
  114.   END;
  115.  
  116. CONST
  117.   needsNoConcealedRasters = 1;
  118.   needsNoLayerBlitDamage = 2;
  119.   isLessX = 1;
  120.   isLessY = 2;
  121.   isGrtrX = 4;
  122.   isGrtrY = 8;
  123.   borderHit = 0;
  124.   topHit = 1;
  125.   bottomHit = 2;
  126.   leftHit = 4;
  127.   rightHit = 8;
  128.   move = 0;
  129.   wait = 1;
  130.   next = 2;
  131.   ntLof = 15;
  132.   ntSht = 14;
  133.   ntSys = 13;
  134.  
  135. TYPE
  136.   CopIns = STRUCT 
  137.     opCode : INTEGER;
  138.     destAddr : INTEGER;
  139.     destData : INTEGER;
  140.   END;
  141.   CopInsCL = STRUCT 
  142.     opCode : INTEGER;
  143.     nxtList : CopListPtr;
  144.   END;
  145.   Cprlist = STRUCT 
  146.     next : CprlistPtr;
  147.     start : e.APTR;
  148.     maxCount : INTEGER;
  149.   END;
  150.   CopList = STRUCT 
  151.     next : CopListPtr;
  152.     copList : CopListPtr;
  153.     viewPort : ViewPortPtr;
  154.     copIns : CopInsPtr;
  155.     copPtr : CopInsPtr;
  156.     copLStart : e.APTR;
  157.     copSStart : e.APTR;
  158.     count : INTEGER;
  159.     maxCount : INTEGER;
  160.     dyOffset : INTEGER;
  161.     cop2Start : e.APTR;
  162.     cop3Start : e.APTR;
  163.     cop4Start : e.APTR;
  164.     cop5Start : e.APTR;
  165.   END;
  166.   UCopList = STRUCT 
  167.     next : UCopListPtr;
  168.     firstCopList : CopListPtr;
  169.     copList : CopListPtr;
  170.   END;
  171.   Copinit = STRUCT 
  172.     vsyncHblank : ARRAY 2 OF INTEGER;
  173.     diwstart : ARRAY 4 OF INTEGER;
  174.     diagstart : ARRAY 4 OF INTEGER;
  175.     sprstrtup : ARRAY (2 * 8 * 2) OF INTEGER;
  176.     wait14 : ARRAY 2 OF INTEGER;
  177.     normHblank : ARRAY 2 OF INTEGER;
  178.     genloc : ARRAY 4 OF INTEGER;
  179.     jump : ARRAY 2 * 2 OF INTEGER;
  180.     waitForever : ARRAY 2 OF INTEGER;
  181.     sprstop : ARRAY 4 OF INTEGER;
  182.   END;
  183.  
  184. CONST
  185.   mode640 = 15;
  186.   plnCntMsk = {0.nCntMsk..2};
  187.   plnCntShft = 12;
  188.   pf2pri = 6;
  189.   colorOn = 9;
  190.   dblpf = 10;
  191.   holdnmodify = 11;
  192.   interlace = 2;
  193.   fineScroll = {0.neScroll..3};
  194.   fineScrollShift = 4;
  195.   fineScrollMask = {0.neScrollMask..3};
  196.   horizPos = {0.rizPos..6};
  197.   vrtclPos = {0.tclPos..8};
  198.   vrtclPosShift = 7;
  199.   dftchMask = {0.tchMask..7};
  200.   vposrlof = {15};
  201.  
  202. TYPE
  203.   ExtendedNode = STRUCT (node : e.Node) 
  204.     subsystem : SHORTINT;
  205.     subtype : SHORTINT;
  206.     library : LONGINT;
  207.     init : e.PROC;
  208.   END;
  209.  
  210. CONST
  211.   ssGraphics = 2;
  212.   viewExtraType = 1;
  213.   viewPortExtraType = 2;
  214.   specialMonitorType = 3;
  215.   monitorSpecType = 4;
  216.  
  217. TYPE
  218.   MonitorSpec = STRUCT (node : ExtendedNode) 
  219.     flags : SET;
  220.     ratioh : LONGINT;
  221.     ratiow : LONGINT;
  222.     totalRows : INTEGER;
  223.     totalColorclocks : INTEGER;
  224.     deniseMaxDisplayColumn : INTEGER;
  225.     beamCon0 : INTEGER;
  226.     minRow : INTEGER;
  227.     special : SpecialMonitorPtr;
  228.     openCount : INTEGER;
  229.     transform : e.PROC;
  230.     translate : e.PROC;
  231.     scale : e.PROC;
  232.     xoffset : INTEGER;
  233.     yoffset : INTEGER;
  234.     legalView : Rectangle;
  235.     maxoscan : e.PROC;
  236.     videoscan : e.PROC;
  237.     deniseMinDisplayColumn : INTEGER;
  238.     displayCompatible : LONGINT;
  239.     displayInfoDataBase : e.List;
  240.     displayInfoDataBaseSemaphore : e.SignalSemaphore;
  241.     reserved00 : LONGINT;
  242.     reserved01 : LONGINT;
  243.   END;
  244.  
  245. CONST
  246.   toMonitor = 0;
  247.   fromMonitor = 1;
  248.   standardXOffset = 9;
  249.   standardYOffset = 0;
  250.   requestNTSC = 1;
  251.   requestPAL = 2;
  252.   requestSpecial = 4;
  253.   requestA2024 = 8;
  254.   defaultMonitorName = "default.monitor";
  255.   ntscMonitorName = "ntsc.monitor";
  256.   palMonitorName = "pal.monitor";
  257.   standardMonitorMask = requestNTSC + requestPAL;
  258.   standardNTSCRows = 262;
  259.   standardPALRows = 312;
  260.   standardColorClocks = 226;
  261.   standardDeniseMax = 455;
  262.   standardDeniseMin = 93;
  263.   standardNTSCBeamCon = {};
  264.   standardPALBeamCon = {h.displayPal};
  265.   specialBeamCon = {h.varVBlank, h.loLDis, h.varVSync, h.varBeam, h.csBlank};
  266.   minNTSCRow = 21;
  267.   minPALRow = 29;
  268.   standardViewX = 81H;
  269.   standardViewY = 2CH;
  270.   standardHBStrt = 06H;
  271.   standardHSStrt = 0BH;
  272.   standardHSStop = 1CH;
  273.   standardHBStop = 2CH;
  274.   standardVBStrt = 0122H;
  275.   standardVSStrt = 02A6H;
  276.   standardVSStop = 03AAH;
  277.   standardVBStop = 1066H;
  278.   vgaColorClocks = standardColorClocks DIV 2;
  279.   vgaTotalRows = standardNTSCRows * 2;
  280.   vgaDeniseMin = 59;
  281.   minvgaRow = 29;
  282.   vgaHBStrt = 08H;
  283.   vgaHSStrt = 0EH;
  284.   vgaHSStop = 1CH;
  285.   vgaHBStop = 1EH;
  286.   vgaVBStrt = 0000H;
  287.   vgaVSStrt = 0153H;
  288.   vgaVSStop = 0235H;
  289.   vgaVBStop = 0CCDH;
  290.   vgaMonitorName = "vga.monitor";
  291.   vga70ColorClocks = standardColorClocks DIV 2;
  292.   vga70TotalRows = 449;
  293.   vga70DeniseMin = 59;
  294.   minvga70Row = 35;
  295.   vga70HBStrt = 08H;
  296.   vga70HSStrt = 0EH;
  297.   vga70HSStop = 1CH;
  298.   vga70HBStop = 1EH;
  299.   vga70VBStrt = 0000H;
  300.   vga70VSStrt = 02A6H;
  301.   vga70VSStop = 0388H;
  302.   vga70VBStop = 0F73H;
  303.   vga70BeamCon = specialBeamCon / {h.vSyncTrue};
  304.   vga70MonitorName = "vga70.monitor";
  305.   broadcastHBStrt = 01H;
  306.   broadcastHSStrt = 06H;
  307.   broadcastHSStop = 17H;
  308.   broadcastHBStop = 27H;
  309.   broadcastVBStrt = 0000H;
  310.   broadcastVSStrt = 02A6H;
  311.   broadcastVSStop = 054CH;
  312.   broadcastVBStop = 1C40H;
  313.   broadcastBeamCon = {h.loLDis, h.csBlank};
  314.   ratioFixedPart = 4;
  315.   rationUnity = ASH(1, ratioFixedPart);
  316.  
  317. TYPE
  318.   AnalogSignalInterval = STRUCT 
  319.     start : INTEGER;
  320.     stop : INTEGER;
  321.   END;
  322.   SpecialMonitor = STRUCT (node : ExtendedNode) 
  323.     flags : SET;
  324.     doMonitor : e.PROC;
  325.     reserved1 : e.PROC;
  326.     reserved2 : e.PROC;
  327.     reserved3 : e.PROC;
  328.     hblank : AnalogSignalInterval;
  329.     vblank : AnalogSignalInterval;
  330.     hsync : AnalogSignalInterval;
  331.     vsync : AnalogSignalInterval;
  332.   END;
  333.   DisplayInfoHandle = e.APTR;
  334.  
  335. CONST
  336.   dtagDisp = 80000000H;
  337.   dtagDims = 80001000H;
  338.   dtagMntr = 80002000H;
  339.   dtagName = 80003000H;
  340.  
  341. TYPE
  342.   QueryHeader = STRUCT 
  343.     structID : LONGINT;
  344.     displayID : LONGINT;
  345.     skipID : LONGINT;
  346.     length : LONGINT;
  347.   END;
  348.   DisplayInfo = STRUCT (header : QueryHeader) 
  349.     notAvailable : INTEGER;
  350.     propertyFlags : LONGSET;
  351.     resolution : Point;
  352.     pixelSpeed : INTEGER;
  353.     numStdSprites : INTEGER;
  354.     paletteRange : INTEGER;
  355.     spriteResolution : Point;
  356.     pad : ARRAY 4 OF e.BYTE;
  357.     reserved : ARRAY 2 OF LONGINT;
  358.   END;
  359.  
  360. CONST
  361.   availNoChips = 0001H;
  362.   availNoMonitor = 0002H;
  363.   availNotWithGenlock = 0004H;
  364.   isLace = 0;
  365.   isDualPF = 1;
  366.   isPF2pri = 2;
  367.   isHAM = 3;
  368.   isECS = 4;
  369.   isPAL = 5;
  370.   isSprites = 6;
  371.   isGenlock = 7;
  372.   isWB = 8;
  373.   isDraggable = 9;
  374.   isPanelled = 10;
  375.   isBeamSync = 11;
  376.   isExtraHalfBrite = 12;
  377.  
  378. TYPE
  379.   DimensionInfo = STRUCT (header : QueryHeader) 
  380.     maxDepth : INTEGER;
  381.     minRasterWidth : INTEGER;
  382.     minRasterHeight : INTEGER;
  383.     maxRasterWidth : INTEGER;
  384.     maxRasterHeight : INTEGER;
  385.     nominal : Rectangle;
  386.     maxOScan : Rectangle;
  387.     videoOScan : Rectangle;
  388.     txtOScan : Rectangle;
  389.     stdOScan : Rectangle;
  390.     pad : ARRAY 14 OF e.BYTE;
  391.     reserved : ARRAY 2 OF LONGINT;
  392.   END;
  393.   MonitorInfo = STRUCT (header : QueryHeader) 
  394.     mspc : MonitorSpecPtr;
  395.     viewPosition : Point;
  396.     viewResolution : Point;
  397.     viewPositionRange : Rectangle;
  398.     totalRows : INTEGER;
  399.     totalColorClocks : INTEGER;
  400.     minRow : INTEGER;
  401.     compatibility : INTEGER;
  402.     pad : ARRAY 36 OF e.BYTE;
  403.     reserved : ARRAY 2 OF LONGINT;
  404.   END;
  405.  
  406. CONST
  407.   mCompatMixed = 0;
  408.   mCompatSelf = 1;
  409.   mCompatNobody = -1;
  410.   displayNameLen = 32;
  411.  
  412. TYPE
  413.   NameInfo = STRUCT (header : QueryHeader) 
  414.     name : ARRAY displayNameLen OF CHAR;
  415.     reserved : ARRAY 2 OF LONGINT;
  416.   END;
  417.  
  418. CONST
  419.   invalidID = -1;
  420.   monitorIDMask = 0FFFF1000H;
  421.   defaultMonitorID = 00000000H;
  422.   ntscMonitorID = 00011000H;
  423.   palMonitorID = 00021000H;
  424.   loresKey = 00000000H;
  425.   hiresKey = 00008000H;
  426.   superKey = 00008020H;
  427.   hamKey = 00000800H;
  428.   loresLaceKey = 00000004H;
  429.   hiresLaceKey = 00008004H;
  430.   superLaceKey = 00008024H;
  431.   hamLaceKey = 00000804H;
  432.   loresDPFKey = 00000400H;
  433.   hiresDPFKey = 00008400H;
  434.   superDPFKey = 00008420H;
  435.   loresLaceDPFKey = 00000404H;
  436.   hiresLaceDPFKey = 00008404H;
  437.   superLaceDPFKey = 00008424H;
  438.   loresDPF2Key = 00000440H;
  439.   hiresDPF2Key = 00008440H;
  440.   superDPF2Key = 00008460H;
  441.   loresLaceDPF2Key = 00000444H;
  442.   hiresLaceDPF2Key = 00008444H;
  443.   superLaceDPF2Key = 00008464H;
  444.   extraHalfBriteKey = 00000080H;
  445.   extraHalfBriteLaceKey = 00000084H;
  446.   vgaMonitorID = 00031000H;
  447.   vgaExtraLoresKey = 00031004H;
  448.   vgaLoresKey = 00039004H;
  449.   vgaProductKey = 00039024H;
  450.   vgaHAMKey = 00031804H;
  451.   vgaExtraLoresLaceKey = 00031005H;
  452.   vgaLoresLaceKey = 00039005H;
  453.   vgaProductLaceKey = 00039025H;
  454.   vgaHAMLaceKey = 00031805H;
  455.   vgaExtraLoresDPFKey = 00031404H;
  456.   vgaLoresDPFKey = 00039404H;
  457.   vgaProductDPFKey = 00039424H;
  458.   vgaExtraLoresLaceDPFKey = 00031405H;
  459.   vgaLoresLaceDPFKey = 00039405H;
  460.   vgaProductLaceDPFKey = 00039425H;
  461.   vgaExtraLoresDPF2Key = 00031444H;
  462.   vgaLoresDPF2Key = 00039444H;
  463.   vgaProductDPF2Key = 00039464H;
  464.   vgaExtraLoresLaceDPF2Key = 00031445H;
  465.   vgaLoresLaceDPF2Key = 00039445H;
  466.   vgaProductLaceDPF2Key = 00039465H;
  467.   vgaExtraHalfBriteKey = 00031084H;
  468.   vgaExtraHalfBriteLaceKey = 00031085H;
  469.   a2024MonitorID = 00041000H;
  470.   a2024tenHertzKey = 00041000H;
  471.   a2024fifteenHertzKey = 00049000H;
  472.   protoMonitorID = 00051000H;
  473.   sUserFlags = {0.serFlags..7};
  474.   vsprite = 0;
  475.   saveBack = 1;
  476.   overlay = 2;
  477.   mustDraw = 3;
  478.   backSaved = 8;
  479.   bobUpdate = 9;
  480.   gelGone = 10;
  481.   vsOverflow = 11;
  482.   bUserFlags = {0.serFlags..7};
  483.   saveBob = 0;
  484.   bobIsComp = 1;
  485.   bWaiting = 8;
  486.   bDrawn = 9;
  487.   bobsAway = 10;
  488.   bobNix = 11;
  489.   savePreserve = 12;
  490.   outStep = 13;
  491.   anfracsize = 6;
  492.   animhalf = 0020H;
  493.   ringTrigger = 0001H;
  494.  
  495. TYPE
  496.   VUserStuff = INTEGER;
  497.   BUserStuff = INTEGER;
  498.   AUserStuff = INTEGER;
  499.   VSprite = STRUCT 
  500.     nextVSprite : VSpritePtr;
  501.     prevVSprite : VSpritePtr;
  502.     drawPath : VSpritePtr;
  503.     clearPath : VSpritePtr;
  504.     oldY,oldX : INTEGER;
  505.     flags : SET;
  506.     y,x : INTEGER;
  507.     height : INTEGER;
  508.     width : INTEGER;
  509.     depth : INTEGER;
  510.     meMask : SET;
  511.     hitMask : SET;
  512.     imageData : e.APTR;
  513.     borderLine : e.APTR;
  514.     collMask : e.APTR;
  515.     sprColors : e.APTR;
  516.     vsBob : BobPtr;
  517.     planePick : SHORTSET;
  518.     planeOnOff : SHORTSET;
  519.     vUserExt : VUserStuff;
  520.   END;
  521.   Bob = STRUCT 
  522.     flags : SET;
  523.     saveBuffer : e.APTR;
  524.     imageShadow : e.APTR;
  525.     before : BobPtr;
  526.     after : BobPtr;
  527.     bobVSprite : VSpritePtr;
  528.     bobComp : AnimCompPtr;
  529.     dBuffer : DBufPacketPtr;
  530.     bUserExt : BUserStuff;
  531.   END;
  532.   AnimComp = STRUCT 
  533.     flags : SET;
  534.     timer : INTEGER;
  535.     timeSet : INTEGER;
  536.     nextComp : AnimCompPtr;
  537.     prevComp : AnimCompPtr;
  538.     nextSeq : AnimCompPtr;
  539.     prevSeq : AnimCompPtr;
  540.     animCRoutine : e.PROC;
  541.     yTrans : INTEGER;
  542.     xTrans : INTEGER;
  543.     headOb : AnimObPtr;
  544.     animBob : BobPtr;
  545.   END;
  546.   AnimOb = STRUCT 
  547.     nextOb,prevOb : AnimObPtr;
  548.     clock : LONGINT;
  549.     anOldY,anOldX : INTEGER;
  550.     anY,anX : INTEGER;
  551.     yVel,xVel : INTEGER;
  552.     yAccel,xAccel : INTEGER;
  553.     ringYTrans,ringXTrans : INTEGER;
  554.     animoRoutine : e.PROC;
  555.     headComp : AnimCompPtr;
  556.     aUserExt : AUserStuff;
  557.   END;
  558.   DBufPacket = STRUCT 
  559.     bufY,bufX : INTEGER;
  560.     bufPath : VSpritePtr;
  561.     bufBuffer : e.APTR;
  562.   END;
  563.  
  564. CONST
  565.   b2Norm = 0;
  566.   b2Swap = 1;
  567.   b2Bobber = 2;
  568.  
  569. TYPE
  570.   CollTable = STRUCT 
  571.     collPtrs : ARRAY 16 OF e.APTR;
  572.   END;
  573.   Isrvstr = STRUCT (node : e.Node) 
  574.     iptr : IsrvstrPtr;
  575.     code : e.PROC;
  576.     ccode : e.PROC;
  577.     carg : LONGINT;
  578.   END;
  579.  
  580. CONST
  581.   layerSimple = 0;
  582.   layerSmart = 1;
  583.   layerSuper = 2;
  584.   layerUpdating = 4;
  585.   layerBackdrop = 6;
  586.   layerRefresh = 7;
  587.   layerClipRectsLost = 8;
  588.   lmnRegion = -1;
  589.  
  590. TYPE
  591.   LayerInfo = STRUCT 
  592.     layer : LayerPtr;
  593.     lp : LayerPtr;
  594.     obs : ClipRectPtr;
  595.     freeClipRects : e.MinList;
  596.     lock : e.SignalSemaphore;
  597.     head : e.List;
  598.     longreserved : LONGINT;
  599.     flags : SET;
  600.     count : SHORTINT;
  601.     lockLayersCount : SHORTINT;
  602.     layerInfoExtraSize : INTEGER;
  603.     blitbuff : e.APTR;
  604.     layerInfoExtra : e.PROC;
  605.   END;
  606.  
  607. CONST
  608.   newLayerInfoCalled = 1;
  609.   alertLayersNoMem = 83010000H;
  610.  
  611. TYPE
  612.   AreaInfo = STRUCT 
  613.     vctrTbl : e.APTR;
  614.     vctrPtr : e.APTR;
  615.     flagTbl : e.APTR;
  616.     flagPtr : e.APTR;
  617.     count : INTEGER;
  618.     maxCount : INTEGER;
  619.     firstX,FirstY : INTEGER;
  620.   END;
  621.   TmpRas = STRUCT 
  622.     rasPtr : e.APTR;
  623.     size : LONGINT;
  624.   END;
  625.   GelsInfo = STRUCT 
  626.     sprRsrvd : SHORTINT;
  627.     flags : e.BYTE;
  628.     gelHead,gelTail : VSpritePtr;
  629.     nextLine : e.APTR;
  630.     lastColor : e.APTR;
  631.     collHandler : CollTablePtr;
  632.     leftmost,rightmost,topmost,bottommost : INTEGER;
  633.     firstBlissObj,lastBlissObj : e.APTR;
  634.   END;
  635.   RastPort = STRUCT 
  636.     layer : LayerPtr;
  637.     bitMap : BitMapPtr;
  638.     areaPtrn : e.APTR;
  639.     tmpRas : TmpRasPtr;
  640.     areaInfo : AreaInfoPtr;
  641.     gelsInfo : GelsInfoPtr;
  642.     mask : SHORTSET;
  643.     fgPen : SHORTINT;
  644.     bgPen : SHORTINT;
  645.     aOlPen : SHORTINT;
  646.     drawMode : SHORTSET;
  647.     areaPtSz : SHORTINT;
  648.     linPatCnt : SHORTINT;
  649.     dummy : e.BYTE;
  650.     flags : SET;
  651.     linePtrn : INTEGER;
  652.     x,y : INTEGER;
  653.     minterms : ARRAY 8 OF e.BYTE;
  654.     penWidth : INTEGER;
  655.     penHeight : INTEGER;
  656.     font : TextFontPtr;
  657.     algoStyle : SHORTSET;
  658.     txFlags : SHORTSET;
  659.     txHeight : INTEGER;
  660.     txWidth : INTEGER;
  661.     txBaseline : INTEGER;
  662.     txSpacing : INTEGER;
  663.     user : e.APTR;
  664.     longreserved : ARRAY 2 OF LONGINT;
  665.     wordreserved : ARRAY 7 OF INTEGER;
  666.     reserved : ARRAY 8 OF e.BYTE;
  667.   END;
  668.  
  669. CONST
  670.   jam1 = SHORTSET{};
  671.   jam2 = SHORTSET{0};
  672.   complement = 1;
  673.   inversvid = 2;
  674.   firstDot = 0;
  675.   oneDot = 1;
  676.   dBuffer = 2;
  677.   areaOutline = 3;
  678.   noCrossFill = 5;
  679.  
  680. TYPE
  681.   RegionRectangle = STRUCT 
  682.     next,prev : RegionRectanglePtr;
  683.     bounds : Rectangle;
  684.   END;
  685.   Region = STRUCT (bounds : Rectangle) 
  686.     regionRectangle : RegionRectanglePtr;
  687.   END;
  688.   BitScaleArgs = STRUCT 
  689.     srcX,srcY : INTEGER;
  690.     srcWidth,srcHeight : INTEGER;
  691.     xSrcFactor,ySrcFactor : INTEGER;
  692.     destX,destY : INTEGER;
  693.     destWidth,destHeight : INTEGER;
  694.     xDestFactor,yDestFactor : INTEGER;
  695.     srcBitMap : BitMapPtr;
  696.     destBitMap : BitMapPtr;
  697.     flags : LONGINT;
  698.     xdda,ydda : INTEGER;
  699.     reserved1 : LONGINT;
  700.     reserved2 : LONGINT;
  701.   END;
  702.  
  703. CONST
  704.   spriteAttached = 80H;
  705.  
  706. TYPE
  707.   SimpleSprite = STRUCT 
  708.     posctldata : e.APTR;
  709.     height : INTEGER;
  710.     x,y : INTEGER;
  711.     num : INTEGER;
  712.   END;
  713.  
  714. CONST
  715.   normal = SHORTSET{};
  716.   normalFont = SHORTSET{};
  717.   underlined = 0;
  718.   bold = 1;
  719.   italic = 2;
  720.   extended = 3;
  721.   colorFont = 6;
  722.   tagged = 7;
  723.   romFont = 0;
  724.   diskFont = 1;
  725.   revPath = 2;
  726.   tallDot = 3;
  727.   wideDot = 4;
  728.   proportional = 5;
  729.   designed = 6;
  730.   removed = 7;
  731.  
  732. TYPE
  733.   TextAttr = STRUCT 
  734.     name : e.STRPTR;
  735.     ySize : INTEGER;
  736.     style : SHORTSET;
  737.     flags : SHORTSET;
  738.   END;
  739.   TTextAttr = STRUCT 
  740.     name : e.STRPTR;
  741.     ySize : INTEGER;
  742.     style : SHORTSET;
  743.     flags : SHORTSET;
  744.     tags : u.TagItemPtr;
  745.   END;
  746.  
  747. CONST
  748.   deviceDPI = 1 + u.user;
  749.   maxFontMatchweight = 32767;
  750.  
  751. TYPE
  752.   TextFont = STRUCT (message : e.Message) 
  753.     ySize : INTEGER;
  754.     style : SHORTSET;
  755.     flags : SHORTSET;
  756.     xSize : INTEGER;
  757.     baseline : INTEGER;
  758.     boldSmear : INTEGER;
  759.     accessors : INTEGER;
  760.     loChar : CHAR;
  761.     hiChar : CHAR;
  762.     charData : e.APTR;
  763.     modulo : INTEGER;
  764.     charLoc : e.APTR;
  765.     charSpace : e.APTR;
  766.     charKern : e.APTR;
  767.   END;
  768.  
  769. CONST
  770.   noRemFont = 0;
  771.  
  772. TYPE
  773.   TextFontExtension = STRUCT 
  774.     matchWord : INTEGER;
  775.     flags0 : SHORTSET;
  776.     flags1 : SHORTSET;
  777.     backPtr : TextFontPtr;
  778.     origReplyPort : e.MsgPortPtr;
  779.     tags : u.TagItemPtr;
  780.     oFontPatchS : e.APTR;
  781.     oFontPatchK : e.APTR;
  782.   END;
  783.  
  784. CONST
  785.   ctColorMask = {0.ColorMask..3};
  786.   ctColorFont = 0;
  787.   ctGreyFont = 1;
  788.   ctAntiAlias = 2;
  789.   ctMapColor = 0;
  790.  
  791. TYPE
  792.   ColorFontColors = STRUCT 
  793.     reserved : INTEGER;
  794.     count : INTEGER;
  795.     colorTable : e.APTR;
  796.   END;
  797.   ColorTextFont = STRUCT (tf : TextFont) 
  798.     flags : SET;
  799.     depth : SHORTINT;
  800.     fgColor : SHORTINT;
  801.     low : SHORTINT;
  802.     high : SHORTINT;
  803.     planePick : SHORTSET;
  804.     planeOnOff : SHORTSET;
  805.     colorFontColors : ColorFontColorsPtr;
  806.     charData : ARRAY 8 OF e.APTR;
  807.   END;
  808.   Textextent = STRUCT 
  809.     width : INTEGER;
  810.     height : INTEGER;
  811.     extent : Rectangle;
  812.   END;
  813.  
  814. CONST
  815.   vTagEndCM = 00000000H;
  816.   vTagChromaKeyClr = 80000000H;
  817.   vTagChromaKeySet = 80000001H;
  818.   vTagBitPlaneKeyClr = 80000002H;
  819.   vTagBitPlaneKeySet = 80000003H;
  820.   vTagBorderBlankClr = 80000004H;
  821.   vTagBorderBlankSet = 80000005H;
  822.   vTagBorderNoTransClr = 80000006H;
  823.   vTagBorderNoTransSet = 80000007H;
  824.   vTagChromaPenClr = 80000008H;
  825.   vTagChromaPenSet = 80000009H;
  826.   vTagChromaPlaneSet = 8000000AH;
  827.   vTagAttachCMSet = 8000000BH;
  828.   vTagNextBufCM = 8000000CH;
  829.   vTagBatchCMClr = 8000000DH;
  830.   vTagBatchCMSet = 8000000EH;
  831.   vTagNormalDispGet = 8000000FH;
  832.   vTagNormalDisplSet = 80000010H;
  833.   vTagCoerceDispGet = 80000011H;
  834.   vTagCoerceDispSet = 80000012H;
  835.   vTagViewPortExtraGet = 80000013H;
  836.   vTagViewPortExtraSet = 80000014H;
  837.   vTagChromaKeyGet = 80000015H;
  838.   vTagBitPlaneKeyGet = 80000016H;
  839.   vTagBorderBlankGet = 80000017H;
  840.   vTagBorderNoTransGet = 80000018H;
  841.   vTagChromaPenGet = 80000019H;
  842.   vTagChromaPlaneGet = 8000001AH;
  843.   vTagAttachCMGet = 8000001BH;
  844.   vTagBatchCMGet = 8000001CH;
  845.   vTagBatchItemsGet = 8000001DH;
  846.   vTagBatchItemsSet = 8000001EH;
  847.   vTagBatchItemsAdd = 8000001FH;
  848.   vTagVPModeIDGet = 80000020H;
  849.   vTagVPMoedIDSet = 80000021H;
  850.   vTagVPModeIDClr = 80000022H;
  851.   vTagUserClipGet = 80000023H;
  852.   vTagUserClipSet = 80000024H;
  853.   vTagUserClipClr = 80000025H;
  854.  
  855. TYPE
  856.   ViewPort = STRUCT 
  857.     next : ViewPortPtr;
  858.     colorMap : ColorMapPtr;
  859.     dspIns : CopListPtr;
  860.     sprIns : CopListPtr;
  861.     clrIns : CopListPtr;
  862.     uCopIns : UCopListPtr;
  863.     dWidth,dHeight : INTEGER;
  864.     dxOffset,dyOffset : INTEGER;
  865.     modes : SET;
  866.     spritePriorities : SHORTINT;
  867.     extendedModes : SHORTINT;
  868.     rasInfo : RasInfoPtr;
  869.   END;
  870.   View = STRUCT 
  871.     viewPort : ViewPortPtr;
  872.     lofCprList : CprlistPtr;
  873.     shfCprList : CprlistPtr;
  874.     dyOffset,dxOffset : INTEGER;
  875.     modes : SET;
  876.   END;
  877.   ViewExtra = STRUCT (n : ExtendedNode) 
  878.     view : ViewPtr;
  879.     monitor : MonitorSpecPtr;
  880.   END;
  881.   ViewPortExtra = STRUCT (n : ExtendedNode) 
  882.     viewPort : ViewPortPtr;
  883.     displayClip : Rectangle;
  884.   END;
  885.  
  886. CONST
  887.   extendVStruct = 12;
  888.   genLockVideo = 1;
  889.   lace = 2;
  890.   superHires = 5;
  891.   pfba = 6;
  892.   extraHalfbrite = 7;
  893.   genlockAudio = 8;
  894.   dualpf = 10;
  895.   ham = 11;
  896.   extendedMode = 12;
  897.   vpHide = 13;
  898.   sprites = 14;
  899.   hires = 15;
  900.   a2024 = 6;
  901.   agnus = 5;
  902.   tenHz = 5;
  903.  
  904. TYPE
  905.   RasInfo = STRUCT 
  906.     next : RasInfoPtr;
  907.     bitMap : BitMapPtr;
  908.     rxOffset,ryOffset : INTEGER;
  909.   END;
  910.   ColorMap = STRUCT 
  911.     flags : SHORTSET;
  912.     type : SHORTINT;
  913.     count : INTEGER;
  914.     colorTable : e.APTR;
  915.     vpe : ViewPortExtraPtr;
  916.     transparencyBits : e.APTR;
  917.     transparencyPlane : SHORTINT;
  918.     reserved1 : e.BYTE;
  919.     reserved2 : INTEGER;
  920.     vp : ViewPortPtr;
  921.     normalDisplayInfo : DisplayInfoPtr;
  922.     coerceDisplayInfo : DisplayInfoPtr;
  923.     cmBatchItems : u.TagItemPtr;
  924.     vpModeID : LONGINT;
  925.   END;
  926.  
  927. CONST
  928.   colorMapTypeV12 = 0;
  929.   colorMapTypeV14 = 1;
  930.   colorMapTypeV36 = colorMapTypeV14;
  931.   colroMapTransparency = 0;
  932.   colorPlaneTransparency = 1;
  933.   borderBlanking = 2;
  934.   boderNoTransparency = 3;
  935.   videoControlBatch = 4;
  936.   userCopperClip = 5;
  937.  
  938. TYPE
  939.   GfxBase = STRUCT (libNode : e.Library) 
  940.     actiView : ViewPtr;
  941.     copinit : CopinitPtr;
  942.     cia : e.APTR;
  943.     blitter : e.APTR;
  944.     loFlist : e.APTR;
  945.     shFlist : e.APTR;
  946.     blthd,blttl : h.BltnodePtr;
  947.     bsblthd,bsblttl : h.BltnodePtr;
  948.     vbsrv,timsrv,bltsrv : e.Interrupt;
  949.     textFonts : e.List;
  950.     defaultFont : TextFontPtr;
  951.     modes : SET;
  952.     vBlank : e.BYTE;
  953.     debug : e.BYTE;
  954.     beamSync : INTEGER;
  955.     bplcon0 : SET;
  956.     spriteReserved : e.BYTE;
  957.     bytereserved : e.BYTE;
  958.     flags : SET;
  959.     blitLock : INTEGER;
  960.     blitNest : INTEGER;
  961.     blitWaitQ : e.List;
  962.     blitOwner : e.TaskPtr;
  963.     waitQ : e.List;
  964.     displayFlags : SET;
  965.     simpleSprites : e.APTR;
  966.     maxDisplayRow : INTEGER;
  967.     maxDisplayColumn : INTEGER;
  968.     normalDisplayRows : INTEGER;
  969.     normalDisplayColumns : INTEGER;
  970.     normalDPMX : INTEGER;
  971.     normalDPMY : INTEGER;
  972.     lastChanceMemory : e.SignalSemaphore;
  973.     lcMptr : e.APTR;
  974.     microsPerLine : INTEGER;
  975.     minDisplayColumn : INTEGER;
  976.     chipRevBits0 : SHORTSET;
  977.     reserved : ARRAY 4 OF e.BYTE;
  978.     monitorID : INTEGER;
  979.     hedley : ARRAY 8 OF LONGINT;
  980.     hedleySprites : ARRAY 8 OF LONGINT;
  981.     hedleySprites1 : ARRAY 8 OF LONGINT;
  982.     hedleyCount : INTEGER;
  983.     hedleyFlags : SET;
  984.     hedleyTmp : INTEGER;
  985.     hashTable : e.APTR;
  986.     currentTotRows : INTEGER;
  987.     currentTotCclks : INTEGER;
  988.     hedleyHint : e.BYTE;
  989.     hedleyHint2 : e.BYTE;
  990.     nreserved : ARRAY 4 OF LONGINT;
  991.     a2024SyncRaster : e.APTR;
  992.     controlDeltaPAL : INTEGER;
  993.     controlDeltaNTSC : INTEGER;
  994.     currentMonitor : MonitorSpecPtr;
  995.     monitorList : e.List;
  996.     defaultMonitor : MonitorSpecPtr;
  997.     monitorListSemaphore : e.SignalSemaphore;
  998.     displayInfoDataBase : e.APTR;
  999.     actiViewCprSemaphore : e.SignalSemaphorePtr;
  1000.     utilityBase : e.LibraryPtr;
  1001.     execBase : e.LibraryPtr;
  1002.   END;
  1003.  
  1004. CONST
  1005.   ntsc = 0;
  1006.   genloc = 1;
  1007.   pal = 2;
  1008.   todaSafe = 3;
  1009.   blitMsgFault = 4;
  1010.   bigBlits = 0;
  1011.   hrAgnus = 0;
  1012.   hrDenise = 1;
  1013.   graphicsName = "graphics.library";
  1014.  
  1015. VAR
  1016.   gfx : GfxBasePtr;
  1017.  
  1018. PROCEDURE BltBitMap(srcBitMap: BitMapPtr; xSrc: INTEGER; ySrc: INTEGER; destBitMap: BitMapPtr; xDest: INTEGER; yDest: INTEGER; xSize: INTEGER; ySize: INTEGER; minterm: e.BYTE; mask: SHORTSET; tempA: PLANEPTR): LONGINT;
  1019. PROCEDURE BltTemplate(source: PLANEPTR; xSrc: INTEGER; srcMod: INTEGER; destRP: RastPortPtr; xDest: INTEGER; yDest: INTEGER; xSize: INTEGER; ySize: INTEGER);
  1020. PROCEDURE ClearEOL(rp: RastPortPtr);
  1021. PROCEDURE ClearScreen(rp: RastPortPtr);
  1022. PROCEDURE TextLength(rp: RastPortPtr; string: ARRAY OF CHAR; count: LONGINT): INTEGER;
  1023. PROCEDURE Text(rp: RastPortPtr; string: ARRAY OF CHAR; count: LONGINT);
  1024. PROCEDURE SetFont(rp: RastPortPtr; textFont: TextFontPtr);
  1025. PROCEDURE OpenFont(textAttr: TextAttr): TextFontPtr;
  1026. PROCEDURE CloseFont(textFont: TextFontPtr);
  1027. PROCEDURE AskSoftStyle(rp: RastPortPtr): SHORTSET;
  1028. PROCEDURE SetSoftStyle(rp: RastPortPtr; style: SHORTSET; enable: SHORTSET): SHORTSET;
  1029. PROCEDURE AddBob(bob: BobPtr; rp: RastPortPtr);
  1030. PROCEDURE AddVSprite(vSprite: VSpritePtr; rp: RastPortPtr);
  1031. PROCEDURE DoCollision(rp: RastPortPtr);
  1032. PROCEDURE DrawGList(rp: RastPortPtr; vp: ViewPortPtr);
  1033. PROCEDURE InitGels(head: VSpritePtr; tail: VSpritePtr; gelsInfo: GelsInfoPtr);
  1034. PROCEDURE InitMasks(vSprite: VSpritePtr);
  1035. PROCEDURE RemIBob(bob: BobPtr; rp: RastPortPtr; vp: ViewPortPtr);
  1036. PROCEDURE RemVSprite(vSprite: VSpritePtr);
  1037. PROCEDURE SetCollision(num: LONGINT; routine: e.PROC; gelsInfo: GelsInfoPtr);
  1038. PROCEDURE SortGList(rp: RastPortPtr);
  1039. PROCEDURE AddAnimOb(anOb: AnimObPtr; VAR anKey: AnimObPtr; rp: RastPortPtr);
  1040. PROCEDURE Animate(VAR anKey: AnimObPtr; rp: RastPortPtr);
  1041. PROCEDURE GetGBuffers(anOb: AnimObPtr; rp: RastPortPtr; flag: BOOLEAN): BOOLEAN;
  1042. PROCEDURE InitGMasks(animOb: AnimObPtr);
  1043. PROCEDURE DrawEllipse(rp: RastPortPtr; xCenter: INTEGER; yCenter: INTEGER; a: INTEGER; b: INTEGER);
  1044. PROCEDURE AreaEllipse(rp: RastPortPtr; xCenter: INTEGER; yCenter: INTEGER; a: INTEGER; b: INTEGER): BOOLEAN;
  1045. PROCEDURE LoadRGB4(vp: ViewPortPtr; colors: ARRAY OF INTEGER; count: LONGINT);
  1046. PROCEDURE InitRastPort(VAR rp: RastPort);
  1047. PROCEDURE InitVPort(VAR vp: ViewPort);
  1048. PROCEDURE MrgCop(view: ViewPtr);
  1049. PROCEDURE MakeVPort(view: ViewPtr; vp: ViewPortPtr);
  1050. PROCEDURE LoadView(view: ViewPtr);
  1051. PROCEDURE WaitBlit();
  1052. PROCEDURE SetRast(rp: RastPortPtr; pen: INTEGER);
  1053. PROCEDURE Move(rp: RastPortPtr; x: INTEGER; y: INTEGER);
  1054. PROCEDURE Draw(rp: RastPortPtr; x: INTEGER; y: INTEGER);
  1055. PROCEDURE AreaMove(rp: RastPortPtr; x: INTEGER; y: INTEGER): BOOLEAN;
  1056. PROCEDURE AreaDraw(rp: RastPortPtr; x: INTEGER; y: INTEGER): BOOLEAN;
  1057. PROCEDURE AreaEnd(rp: RastPortPtr): BOOLEAN;
  1058. PROCEDURE WaitTOF();
  1059. PROCEDURE QBlit(blit: h.BltnodePtr);
  1060. PROCEDURE InitArea(VAR areaInfo: AreaInfo; vectorBuffer: e.APTR; maxVectors: LONGINT);
  1061. PROCEDURE SetRGB4(vp: ViewPortPtr; index: INTEGER; red: INTEGER; green: INTEGER; blue: INTEGER);
  1062. PROCEDURE QBSBlit(blit: h.BltnodePtr);
  1063. PROCEDURE BltClear(memBlock: PLANEPTR; byteCount: LONGINT; flags: LONGSET);
  1064. PROCEDURE RectFill(rp: RastPortPtr; xMin: INTEGER; yMin: INTEGER; xMax: INTEGER; yMax: INTEGER);
  1065. PROCEDURE BltPattern(rp: RastPortPtr; mask: PLANEPTR; xMin: INTEGER; yMin: INTEGER; xMax: INTEGER; yMax: INTEGER; bytecnt: INTEGER);
  1066. PROCEDURE ReadPixel(rp: RastPortPtr; x: INTEGER; y: INTEGER): LONGINT;
  1067. PROCEDURE WritePixel(rp: RastPortPtr; x: INTEGER; y: INTEGER): BOOLEAN;
  1068. PROCEDURE Flood(rp: RastPortPtr; mode: LONGINT; x: INTEGER; y: INTEGER): BOOLEAN;
  1069. PROCEDURE PolyDraw(rp: RastPortPtr; count: INTEGER; polyTable: ARRAY OF Point);
  1070. PROCEDURE PolyDrawList(rp: RastPortPtr; count: INTEGER; coors..: INTEGER);
  1071. PROCEDURE SetAPen(rp: RastPortPtr; pen: INTEGER);
  1072. PROCEDURE SetBPen(rp: RastPortPtr; pen: INTEGER);
  1073. PROCEDURE SetDrMd(rp: RastPortPtr; drawMode: SHORTSET);
  1074. PROCEDURE InitView(VAR view: View);
  1075. PROCEDURE CBump(copList: UCopListPtr);
  1076. PROCEDURE CMove(copList: UCopListPtr; destination: e.APTR; data: INTEGER);
  1077. PROCEDURE CWait(copList: UCopListPtr; v: INTEGER; h: INTEGER);
  1078. PROCEDURE VBeamPos(): LONGINT;
  1079. PROCEDURE InitBitMap(VAR bitMap: BitMap; depth: INTEGER; width: INTEGER; height: INTEGER);
  1080. PROCEDURE ScrollRaster(rp: RastPortPtr; x: INTEGER; y: INTEGER; xMin: INTEGER; yMin: INTEGER; xMax: INTEGER; yMax: INTEGER);
  1081. PROCEDURE WaitBOVP(vp: ViewPortPtr);
  1082. PROCEDURE GetSprite(VAR sprite: SimpleSprite; num: INTEGER): INTEGER;
  1083. PROCEDURE FreeSprite(num: INTEGER);
  1084. PROCEDURE ChangeSprite(vp: ViewPortPtr; VAR sprite: SimpleSprite; newData: PLANEPTR);
  1085. PROCEDURE MoveSprite(vo: ViewPortPtr; VAR sprite: SimpleSprite; x: INTEGER; y: INTEGER);
  1086. PROCEDURE LockLayerRom(layer: LayerPtr);
  1087. PROCEDURE UnlockLayerRom(layer: LayerPtr);
  1088. PROCEDURE SyncSBitMap(layer: LayerPtr);
  1089. PROCEDURE CopySBitMap(layer: LayerPtr);
  1090. PROCEDURE OwnBlitter();
  1091. PROCEDURE DisownBlitter();
  1092. PROCEDURE InitTmpRas(VAR tmpras: TmpRas; buffer: PLANEPTR; size: LONGINT);
  1093. PROCEDURE AskFont(rp: RastPortPtr; textAttr: TextAttr);
  1094. PROCEDURE AddFont(textfont: TextFontPtr);
  1095. PROCEDURE RemFont(textfont: TextFontPtr);
  1096. PROCEDURE AllocRaster(width: INTEGER; height: INTEGER): PLANEPTR;
  1097. PROCEDURE FreeRaster(p: PLANEPTR; width: INTEGER; height: INTEGER);
  1098. PROCEDURE AndRectRegion(region: RegionPtr; rectangle: Rectangle);
  1099. PROCEDURE OrRectRegion(region: RegionPtr; rectangle: Rectangle): BOOLEAN;
  1100. PROCEDURE NewRegion(): RegionPtr;
  1101. PROCEDURE ClearRectRegion(region: RegionPtr; rectangle: Rectangle): BOOLEAN;
  1102. PROCEDURE ClearRegion(region: RegionPtr);
  1103. PROCEDURE DisposeRegion(region: RegionPtr);
  1104. PROCEDURE FreeVPortCopLists(vp: ViewPortPtr);
  1105. PROCEDURE FreeCopList(copList: CopListPtr);
  1106. PROCEDURE ClipBlit(srcRP: RastPortPtr; xSrc: INTEGER; ySrc: INTEGER; destRP: RastPortPtr; xDest: INTEGER; yDest: INTEGER; xSize: INTEGER; ySize: INTEGER; minterm: e.BYTE);
  1107. PROCEDURE XorRectRegion(region: RegionPtr; rectangle: Rectangle): BOOLEAN;
  1108. PROCEDURE FreeCprList(cprlist: CprlistPtr);
  1109. PROCEDURE GetColorMap(entries: LONGINT): ColorMapPtr;
  1110. PROCEDURE FreeColorMap(colorMap: ColorMapPtr);
  1111. PROCEDURE GetRGB4(colorMap: ColorMapPtr; entry: LONGINT): INTEGER;
  1112. PROCEDURE ScrollVPort(vp: ViewPortPtr);
  1113. PROCEDURE UCopperListInit(uCopList: UCopListPtr; n: LONGINT): CopListPtr;
  1114. PROCEDURE FreeGBuffers(anOb: AnimObPtr; rp: RastPortPtr; flag: BOOLEAN);
  1115. PROCEDURE BltBitMapRastPort(srcBitMap: BitMapPtr; xSrc: INTEGER; ySrc: INTEGER; destRP: RastPortPtr; xDest: INTEGER; yDest: INTEGER; xSize: INTEGER; ySize: INTEGER; minterm: e.BYTE);
  1116. PROCEDURE OrRegionRegion(srcRegion: RegionPtr; destRegion: RegionPtr): BOOLEAN;
  1117. PROCEDURE XorRegionRegion(srcRegion: RegionPtr; destRegion: RegionPtr): BOOLEAN;
  1118. PROCEDURE AndRegionRegion(srcRegion: RegionPtr; destRegion: RegionPtr): BOOLEAN;
  1119. PROCEDURE SetRGB4CM(colorMap: ColorMapPtr; index: INTEGER; red: INTEGER; green: INTEGER; blue: INTEGER);
  1120. PROCEDURE BltMaskBitMapRastPort(srcBitMap: BitMapPtr; xSrc: INTEGER; ySrc: INTEGER; destRP: RastPortPtr; xDest: INTEGER; yDest: INTEGER; xSize: INTEGER; ySize: INTEGER; minterm: e.BYTE; bltMask: PLANEPTR);
  1121. PROCEDURE AttemptLockLayerRom(layer: LayerPtr): BOOLEAN;
  1122. PROCEDURE GfxNew(gfxNodeType: LONGINT): ExtendedNodePtr;
  1123. PROCEDURE GfxFree(gfxNodePtr: ExtendedNodePtr);
  1124. PROCEDURE GfxAssociate(associateNode: ExtendedNodePtr; gfxNodePtr: ExtendedNodePtr);
  1125. PROCEDURE BitMapScale(bitScaleArgs: BitScaleArgsPtr);
  1126. PROCEDURE ScalerDiv(factor: LONGINT; numerator: LONGINT; denominator: LONGINT): INTEGER;
  1127. PROCEDURE TextExtent(rp: RastPortPtr; string: ARRAY OF CHAR; count: LONGINT; textExtent: TextextentPtr): INTEGER;
  1128. PROCEDURE TextFit(rp: RastPortPtr; string: ARRAY OF CHAR; strLen: LONGINT; textExtent: TextextentPtr; constrainingExtent: TextextentPtr; strDirection: LONGINT; constrainingBitWidth: LONGINT; constrainingBitHeight: LONGINT): LONGINT;
  1129. PROCEDURE GfxLookUp(associateNode: ExtendedNodePtr): e.APTR;
  1130. PROCEDURE VideoControl(colorMap: ColorMapPtr; tagarray: ARRAY OF u.TagItem): BOOLEAN;
  1131. PROCEDURE VideoControlTagList(colorMap: ColorMapPtr; tags..: u.Tag): BOOLEAN;
  1132. PROCEDURE OpenMonitor(monitorName: ARRAY OF CHAR; displayID: LONGINT): MonitorSpecPtr;
  1133. PROCEDURE CloseMonitor(monitorSpec: MonitorSpecPtr): BOOLEAN;
  1134. PROCEDURE FindDisplayInfo(displayID: LONGINT): DisplayInfoHandle;
  1135. PROCEDURE NextDisplayInfo(displayID: LONGINT): LONGINT;
  1136. PROCEDURE AddDisplayInfo;
  1137. PROCEDURE AddDisplayInfoData;
  1138. PROCEDURE SetDisplayInfoData(handle: DisplayInfoHandle; buf: ARRAY OF e.BYTE; size: LONGINT; tagID: LONGINT; displayID: LONGINT): LONGINT;
  1139. PROCEDURE GetDisplayInfoData(handle: DisplayInfoHandle; VAR buf: ARRAY OF e.BYTE; size: LONGINT; tagID: LONGINT; displayID: LONGINT): LONGINT;
  1140. PROCEDURE FontExtent(font: TextFontPtr; fontExtent: TextFontExtensionPtr);
  1141. PROCEDURE ReadPixelLine8(rp: RastPortPtr; xstart: INTEGER; ystart: INTEGER; width: INTEGER; VAR array: ARRAY OF e.BYTE; tempRP: RastPortPtr): LONGINT;
  1142. PROCEDURE WritePixelLine8(rp: RastPortPtr; xstart: INTEGER; ystart: INTEGER; width: INTEGER; array: ARRAY OF e.BYTE; tempRP: RastPortPtr): LONGINT;
  1143. PROCEDURE ReadPixelArray8(rp: RastPortPtr; xstart: INTEGER; ystart: INTEGER; xstop: INTEGER; ystop: INTEGER; width: INTEGER; VAR array: ARRAY OF e.BYTE; tempRP: RastPortPtr): LONGINT;
  1144. PROCEDURE WritePixelArray8(rp: RastPortPtr; xstart: INTEGER; ystart: INTEGER; xstop: INTEGER; ystop: INTEGER; width: INTEGER; array: ARRAY OF e.BYTE; tempRP: RastPortPtr): LONGINT;
  1145. PROCEDURE GetVPModeID(vp: ViewPortPtr): LONGINT;
  1146. PROCEDURE ModeNotAvailable(modeID: LONGINT): LONGINT;
  1147. PROCEDURE WeighTAMatch(reqTextAttr: TextAttr; VAR targetTextAttr: TextAttr; targetTags: ARRAY OF u.TagItem): INTEGER;
  1148. PROCEDURE WeighTAMatchTagList(reqTextAttr: TextAttr; VAR targetTextAttr: TextAttr; tags..: u.Tag): INTEGER;
  1149. PROCEDURE EraseRect(rp: RastPortPtr; xMin: INTEGER; yMin: INTEGER; xMax: INTEGER; yMax: INTEGER);
  1150. PROCEDURE ExtendFont(font: TextFontPtr; fontTags: ARRAY OF u.TagItem): BOOLEAN;
  1151. PROCEDURE StripFont(font: TextFontPtr);
  1152. PROCEDURE RASSIZE(w, h: INTEGER): LONGINT;
  1153. PROCEDURE RemBob(b: BobPtr);
  1154. PROCEDURE OnDisplay;
  1155. PROCEDURE OffDisplay;
  1156. PROCEDURE OnSprite;
  1157. PROCEDURE OffSprite;
  1158. PROCEDURE OnVBlank;
  1159. PROCEDURE OffVBlank;
  1160. PROCEDURE SetOPen(w: RastPortPtr; c: e.BYTE);
  1161. PROCEDURE SetDrPt(w: RastPortPtr; p: INTEGER);
  1162. PROCEDURE SetWrMsk(w: RastPortPtr; m: SHORTSET);
  1163. PROCEDURE SetAfPt(w: RastPortPtr; p: e.ADDRESS; n: e.BYTE);
  1164. PROCEDURE BndryOff(w: RastPortPtr);
  1165. PROCEDURE CINIT(c: UCopListPtr; n: LONGINT);
  1166. PROCEDURE CMOVE(c: UCopListPtr; a: e.ADDRESS; b: INTEGER);
  1167. PROCEDURE CWAIT(c: UCopListPtr; a, b: INTEGER);
  1168. PROCEDURE CEND(c: UCopListPtr);
  1169. PROCEDURE DrawCircle(rp: RastPortPtr; cx, cy: INTEGER; r: INTEGER);
  1170. PROCEDURE AreaCircle(rp: RastPortPtr; cx, cy: INTEGER; r: INTEGER): BOOLEAN;
  1171.  
  1172. END Graphics.
  1173.  
  1174.